1. Field of the Invention
The present invention relates to an event notification system. More particularly, the present invention relates to notification of detected events in accordance with a set of notification preferences.
2. Description of the Related Art
Modern business enterprises rely heavily on a wide variety of information technology, including both software and hardware, to implement business strategies, to allocate resources, to track the execution of business processes, and to provide an interface for communication with customers, vendors and their own personnel. These systems will hereinafter be referred to as xe2x80x9centerprise systems.xe2x80x9d Business processes executed by a business enterprise may be executed across enterprise system boundaries as well as within enterprise system boundaries.
Even during standard, non-peak operating conditions, the quantity of data that is transmitted by an enterprise system can be enormous. This data may be received by a business enterprise or produced by a business enterprise for internal use as well as for transmission outside the business enterprise system. However, regardless of the quantity of the data that is produced or transmitted, the quality of that data can vary greatly in content and importance. This variance can occur for a variety of reasons. For example, the data that is transferred among various entities within a business enterprise boundary or outside the business enterprise boundary may vary with the needs of those entities receiving or requesting the data. With the vast amount of data transmitted in enterprise systems and the varying content and importance of this data, detection of problems solely from that data is a complicated task. As a result, existing and potential problems that could arise during the execution of business processes dependent upon that data could go undetected. It would therefore be desirable if the content and importance of the data to the business enterprise producing and/or receiving the data could be indicated in the data transmitted by the enterprise system. Moreover, it would be beneficial if a mechanism for monitoring and detecting conditions based upon the transmitted data could be established.
Existing enterprise systems enable business enterprises to coordinate their internal and external activities in a variety of ways, including data transfer, analysis and processing. More particularly, such enterprise systems produce a flow of data that is used by business enterprises for tasks as diverse as the implementation of strategies for internal use such as accounting and the allocation of resources, and strategies for use across enterprise system boundaries such as order processing systems. Once received by the appropriate business or entity, the data is often parsed or analyzed for the information that is pertinent to the desired function to be performed by that entity. Unfortunately, this parsing and analysis is a time-consuming one, often requiring additional personnel to perform data collection and analysis.
One example of the data processing typically performed by many businesses is the processing of orders. Many businesses that supply products to consumers or retailers use order-processing systems to receive and process data associated with incoming orders. However, such order processing systems have limitations. As a result, additional software is often purchased or additional personnel may be hired to monitor its inventory to ensure that it can satisfy its incoming orders. Similarly, in order to monitor the timeliness of the processing of incoming orders, additional software products or personnel may be required to ensure that the ship dates fall within the expected or promised ship dates. Thus, additional resources are often required to ensure that ordered products are shipped in a timely manner, as well as to detect when products have not or cannot be shipped in a timely manner. As a result, business expenses that may be incurred to support such data analysis are not insubstantial. It would therefore be desirable if such additional resources typically required for analysis of data could be reduced or eliminated.
One method commonly used by businesses to track the data that is pertinent to their business is through the generation of reports. For instance, reports commonly generated often involve the use of spreadsheets. Although such report generation is a simple tool that may be easily adapted for all businesses, once the reports are generated, personnel hired by the business must manually review the data. As one example, the data within a single report may be correlated with other data in the same report. As another example, data within one report may need to be correlated with another report or multiple reports. Such manual interpretation of data is time consuming and requires numerous man-hours, increasing the business expenses required to successively operate a business. Moreover, such manual interpretation is at risk of misinterpretation due to the likelihood of human error. Accordingly, it would be preferable if the retrieval and monitoring of data could be automated.
Another problem with the generation of reports is that such reports merely reformat data for simplified viewing and data comparison. Moreover, since such report generation solely accomplishes the reformatting of data, those reports cannot be used for purposes of subsequent monitoring of that data. In other words, a report is a snapshot of data at a single point in time. More particularly, data values that are imported for purposes of a report will be values that are important to that business. However, data values change over time, and a single report cannot reflect such value changes. Thus, the mere generation of a report cannot be used for subsequent monitoring of that data as it changes over time. Even if multiple reports were generated, this does not enable or simplify the monitoring of the data illustrated in the generated reports. It would therefore be desirable if a mechanism were designed to enable the automated monitoring of valuable business data. Moreover, it would be beneficial if such a system could be customized for use by any business or industry.
In view of the above, it would be desirable if a business enterprise could attach a business context to data being transmitted by a business enterprise system to indicate the content and/or importance of the data. In addition, it would be beneficial if data transmitted by a business enterprise system could be monitored to detect various events deemed important to the business enterprise transmitting the data, such as an entity (e.g., department or group) within the business enterprise. Similarly, it would be desirable if the data transmitted by the business enterprise system could be monitored to detect various events deemed important to an entity (e.g., customer) external to the business enterprise system that is expecting to receive the data, products, services, or other information.
The present invention relates to an event notification system. Upon detection of various events and/or conditions with respect to the events, the present invention enables a notification message to be sent in accordance with a set of notification preferences. In this manner, notification may be provided to the appropriate entities in a manner suitable for the situation prompting the notification.
In accordance with one aspect of the invention, various events may be detected. More particularly, an agent is adapted for monitoring data indicating one or more events associated therewith. Through monitoring this data, one or more of a specified set of events may be detected within the data. A message indicating that one or more of the specified set of events has been detected is then sent in accordance with a set of notification preferences.
In accordance with another aspect of the invention, the data that is monitored is flagged to identify one or more events. For instance, one or more attributes that together define a particular event may be flagged. Similarly, one or more metrics may be flagged to identify one or more values that are to be monitored in association with the event. Thus, each condition may be satisfied with respect to one or more attributes and/or one or more metrics.
In accordance with yet another aspect of the invention, an event may be an event that is of interest to a particular business. For example, the event may be configured and selected by an entity (e.g., department) within the business as an event to be monitored. As another example, the event may be one that is monitored in association with a customer of the business.
In accordance with another aspect, a notification message is sent in accordance with a set of notification preferences. For example, the set of notification preferences may indicate one or more addressees to which the notification message is to be sent, a notification medium via which the notification message is to be sent, and/or a timing preference indicating a time and/or date during which the notification message can be sent (or received). A set of notification preferences may be associated with an event as well as a condition to indicate the desired manner and time that a notification message is to be sent. Similarly, a set of notification preferences may be associated with an entity (e.g., individual) to enable the individual to receive notification messages in a desired manner and at a preferred time.
In accordance with another aspect, the notification message is sent when a condition is satisfied with respect to an event. For instance, the condition may be satisfied with respect to one or more attributes and/or metrics. In this manner, notification of various conditions that are detected may be sent in accordance with a set of notification preferences.
The present invention enables a notification message to be sent in accordance with a set of notification preferences. In addition, data may be monitored for any purpose in accordance with specified events and conditions. Accordingly, in response to the detection of various events, states, or conditions, a suitable notification message may be provided to the appropriate entity or entities in the appropriate manner.
These and other features of the present invention will be described in more detail below in the detailed description of the invention and in conjunction with the following figures.